// pages/search/search.js
let app = getApp();
// pages/search/search.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    // 搜索出来商品的数据
    searchData: [],
    // 搜索关键词
    names: "",
    // 控制图片的显示和隐藏
    flag: false,
    // 搜索历史列表
    searchHistory: [],
    // 控制历史记录显示/隐藏
    showHistory: false,
    // 控制热卖标题是否显示
    isHot: false
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    // 从本地缓存加载搜索历史
    this.loadSearchHistory();
  },

  // 加载搜索历史
  loadSearchHistory() {
    const searchHistory = wx.getStorageSync('searchHistory') || [];
    this.setData({
      searchHistory: searchHistory,
      showHistory: searchHistory.length > 0
    });
  },

  // 保存搜索历史
  saveSearchHistory(keyword) {
    if (!keyword.trim()) return;

    let searchHistory = wx.getStorageSync('searchHistory') || [];

    // 移除已存在的相同关键词
    searchHistory = searchHistory.filter(item => item!== keyword);

    // 添加到历史记录开头
    searchHistory.unshift(keyword);

    // 限制历史记录数量为10条
    if (searchHistory.length > 10) {
      searchHistory = searchHistory.slice(0, 10);
    }

    // 保存到本地缓存
    wx.setStorageSync('searchHistory', searchHistory);

    // 更新页面数据
    this.setData({
      searchHistory: searchHistory,
      showHistory: true
    });
  },

  // 点击历史记录进行搜索
  onHistoryItemTap(e) {
    const keyword = e.currentTarget.dataset.keyword;
    this.setData({
      names: keyword
    });
    this.goSearch({
      detail: {
        value: keyword
      }
    });
  },

  // 清除单个历史记录
  onDeleteHistoryItem(e) {
    const index = e.currentTarget.dataset.index;
    let searchHistory = this.data.searchHistory;
    searchHistory.splice(index, 1);

    wx.setStorageSync('searchHistory', searchHistory);
    this.setData({
      searchHistory: searchHistory,
      showHistory: searchHistory.length > 0
    });
  },

  // 清除所有历史记录
  onClearAllHistory() {
    wx.removeStorageSync('searchHistory');
    this.setData({
      searchHistory: [],
      showHistory: false
    });
  },

  // 取消按钮（清空搜索框的文字以及数据）
  clear() {
    console.log(123);
    this.setData({
      names: "",
      searchData: [],
      flag: false
    });
  },
  
  goSearch(e) {
    console.log(e.detail.value);
    let names = e.detail.value;
    wx.showLoading({
      title: '加载中..'
    });
    // 判断输入是否为空
    if (names === "") {
      // 提示
      wx.showToast({
        // 提示的文字
        title: '请输入搜索内容',
        // 提示的图标
        icon: "error",
        // 持续时间
        duration: 1000
      })
    } else {
      // 进行非空请求
      wx.hideLoading();
      wx.request({
        url: 'https://kf.webxyq.com/search',
        method: "GET",
        data: {
          appkey: app.globalData.appkey,
          name: names
        },
        success: res => {
          console.log("搜索商品的数据==>", res);
          // 请求出来有数据的情况
          if (res.data.result.length > 0) {
            this.setData({
              searchData: res.data.result,
              flag: false
            });
            if (res.data.result.isHot == 1) {
              console.log("有热卖商品");
              this.setData({
                isHot: true
              })
            }
            // 保存搜索历史
            this.saveSearchHistory(names);
          } else {
            // 搜索不出来数据(设置图显示并且让搜索数据清空)
            wx.showToast({
              title: '换个关键词吧~',
              icon: "error"
            })
            this.setData({
              flag: true,
              searchData: []
            })
          }
        }
      })
    }
  },

  //获取商品id
  goodsDetail(e){
    console.log(e)
    wx.navigateTo({
      url: `../detail/detail?pid=${e.currentTarget.dataset.pid}`
    })
  },


  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})